// // ******************************************************************
// //       /\ /|       @file       ITranslationService.cs
// //       \ V/        @brief      await29
// //       | "")       @author     Await, 285283010@qq.com
// //       /  |
// //      /  \\        @Modified   2025-02-01 15:02
// //    *(__\_\        @Copyright  Copyright (c) , 2025-02-01 10:02 Await
// // ******************************************************************

using AutomaticSubtitles.Contracts.Entity;

namespace AutomaticSubtitles.Contracts.Services;

public interface ITranslationService
{
    /// <summary>
    /// 翻译文本
    /// </summary>
    /// <param name="commandIsRun"></param>
    /// <returns>翻译结果</returns>
    Task<bool> InitializeTheConfiguration(bool commandIsRun);

    /// <summary>
    /// 翻译文本
    /// </summary>
    /// <param name="model">翻译请求模型</param>
    /// <param name="cancellationToken">取消令牌</param>
    /// <returns>翻译结果</returns>
    Task<TranslationModel?> TranslateAsync(TranslationModel model, CancellationToken cancellationToken = default);

    /// <summary>
    /// 修改提示词
    /// </summary>
    /// <param name="commandData"></param>
    void ModifyThePromptWord(string commandData);
}